There are applications in the field of sensing and estimation where separate and distinct local filters are used to estimate the global state of a system. When these local filters satisfy the property of conditional independence given a set of shared states, information can be passed between filters that allow a distributed and decentralized solution to be maintained, without approximations, that is equivalent to a global central filter. In addition, the filter partitioning resulting from this method has the potential for a reduction in the computation complexity of some applications since the conditionally independent formulation may result in a set of filters each of which is of smaller dimension than a single centralized filter.
One application of this data sharing technique is in Simultaneous Localization and Mapping (SLAM), in which information obtained by a sensor on a mobile platform is processed to obtain an estimate of its own position while building a map of the environment. For example, in a paper by Pinies and Tardos, Scalable SLAM Building Conditionally Independent Local Maps, Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3466-3471, San Diego, Calif. (2007), a submapping solution to the SLAM problem is presented where the submaps are formulated to be conditionally independent of each another. In this approach, a method to share information among submaps that exploits the conditional independence formulation is provided. This data exchange method is termed “back propagation.” In this technique, local filters were built up sequentially and the data sharing was done in a single process at the end of a mission. The information in the data sharing process flowed in one direction starting with the most recent local submap and was propagated back through the chain of previous submaps.
The primary limitation with prior approaches such as the back propagation technique is that they do not account for the situations when new information originates from more than one filter (i.e., “submap”) simultaneously. Such approaches specifically assume that the currently active submap is the most update-to-date submap. As a result, this submap has the latest and newest information, which means that all information must flow from it backwards through the chain of earlier submaps.